#ifndef INCLUDED_jax_lang_JStringBuilder
#define INCLUDED_jax_lang_JStringBuilder

#ifndef HXCPP_H
#include <hxcpp.h>
#endif

#include <jax/lang/JCharSequence.h>
HX_DECLARE_CLASS0(StringBuf)
#ifndef INCLUDED_cpp_CppInt32__
#include <cpp/CppInt32__.h>
#endif
HX_DECLARE_CLASS2(jax,lang,JCharSequence)
HX_DECLARE_CLASS2(jax,lang,JStringBuilder)
namespace jax{
namespace lang{


class JStringBuilder_obj : public hx::Object{
	public:
		typedef hx::Object super;
		typedef JStringBuilder_obj OBJ_;
		JStringBuilder_obj();
		Void __construct(Dynamic f);

	public:
		static hx::ObjectPtr< JStringBuilder_obj > __new(Dynamic f);
		static Dynamic __CreateEmpty();
		static Dynamic __Create(hx::DynamicArray inArgs);
		~JStringBuilder_obj();

		HX_DO_RTTI;
		static void __boot();
		static void __register();
		void __Mark(HX_MARK_PARAMS);
		void __Visit(HX_VISIT_PARAMS);
		inline operator ::jax::lang::JCharSequence_obj *()
			{ return new ::jax::lang::JCharSequence_delegate_< JStringBuilder_obj >(this); }
		hx::Object *__ToInterface(const type_info &inType);
		::String __ToString() const { return HX_CSTRING("JStringBuilder"); }

		::StringBuf _native; /* REM */ 
		virtual ::jax::lang::JStringBuilder append( Dynamic d);
		Dynamic append_dyn();

		virtual int charAt( ::cpp::CppInt32__ ind);
		Dynamic charAt_dyn();

		virtual int length( );
		Dynamic length_dyn();

		virtual ::String toString( );
		Dynamic toString_dyn();

		virtual ::jax::lang::JCharSequence subSequence( ::cpp::CppInt32__ s,::cpp::CppInt32__ e);
		Dynamic subSequence_dyn();

};

} // end namespace jax
} // end namespace lang

#endif /* INCLUDED_jax_lang_JStringBuilder */ 
